package com.earthea.application.system.mapper;

import com.earthea.application.system.domain.entity.SysConfig;
import com.earthea.application.system.entity.request.SysConfigReq;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 参数配置 数据层
 */
@Mapper
public interface SysConfigMapper {

    /**
     * 新增参数配置
     *
     * @param config 参数配置信息
     * @return 结果
     */
    int insert(SysConfig config);

    /**
     * 修改参数配置
     *
     * @param config 参数配置信息
     * @return 结果
     */
    int update(SysConfig config);

    /**
     * 查询参数配置信息
     *
     * @param config 参数配置信息
     * @return 参数配置信息
     */
    SysConfig selectByUnique(SysConfig config);

    /**
     * 查询参数配置列表总数
     *
     * @param req 参数配置信息
     * @return 参数配置集合
     */
    int count(SysConfigReq req);

    /**
     * 查询参数配置列表
     *
     * @param req 参数配置信息
     * @return 参数配置集合
     */
    List<SysConfig> select(SysConfigReq req);

    /**
     * 批量删除参数信息
     *
     * @param configIds 需要删除的参数ID
     * @return 结果
     */
    int batchDelete(@Param("list") List<Long> configIds);
}
